package com.sg.dto.biz.app.res;

import com.sg.dto.biz.app.common.MidOrBasicDeptDirectorDto;
import com.sg.dto.biz.app.common.StakeholdersProblemDto;
import com.sg.dto.biz.app.common.WorkTaskParticipantsDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc ImplementWorkTaskStatusMsgLocSubAnalyzeComRespDto
 * @使用场景
 */
@Data
public class ImplementWorkTaskStatusMsgLocSubAnalyzeComRespDto
        extends BaseDto
        implements Serializable {

    /**
     * 高层分管领导身份人员ID
     */
    @ApiModelProperty("高层分管领导身份人员ID")
    private String deptLeaderOriginalRoleMemberId;

    /**
     * 高层分管领导账号
     */
    @ApiModelProperty("高层分管领导账号")
    private String deptLeaderUserId;

    /**
     * 高层分管领导就职记录ID
     */
    @ApiModelProperty("高层分管领导就职记录ID")
    private String deptLeaderInductionId;

    /**
     * 接收工作任务责任身份人员ID
     */
    @ApiModelProperty("接收工作任务责任身份人员ID")
    private String receiverOriginalRoleMemberId;

    /**
     * 接收工作任务责任人账号
     */
    @ApiModelProperty("接收工作任务责任人账号")
    private String receiverUserId;

    /**
     * 接收工作任务责任就职记录ID
     */
    @ApiModelProperty("接收工作任务责任就职记录ID")
    private String receiverInductionId;

    /**
     * 高层组织ID
     */
    @ApiModelProperty("高层组织ID")
    private String highOrganizationId;

    /**
     * 中基层部门ID
     */
    @ApiModelProperty("中基层部门ID")
    private String midOrBasicDeptId;

    /**
     * 上级汇报的组织ID
     */
    @ApiModelProperty("上级汇报的组织ID")
    private String supOrgIdId;

    /**
     * 上级分管领导身份人员ID
     */
    @ApiModelProperty("上级分管领导身份人员ID")
    private String supDeptLeaderOriginalRoleMemberId;

    /**
     * 上级分管领导账号
     */
    @ApiModelProperty("上级分管领导账号")
    private String supDeptLeaderUserId;

    /**
     * 上级分管领导就职记录ID
     */
    @ApiModelProperty("上级分管领导就职记录ID")
    private String supDeptLeaderInductionId;

    @ApiModelProperty("中基层主管部门列表 ")
    List<String> midOrBasicDeptList = new ArrayList<>();

    @ApiModelProperty("中基层主管部门主管人员列表")
    private List<MidOrBasicDeptDirectorDto> midOrBasicDeptDirectorList = new ArrayList<>();

    @ApiModelProperty("接收任务参与者列表")
    private List<WorkTaskParticipantsDto> workTaskParticipantsList = new ArrayList<>();

    @ApiModelProperty("工作任务所属中基层部门列表 ")
    List<String> workTaskMidOrBasicDeptList = new ArrayList<>();

    /**
     * 高层问题发起人身份人员ID
     */
    @ApiModelProperty("高层问题发起人身份人员ID")
    private String highProblemCreatorOriginalRoleMemberId;

    /**
     * 高层问题发起人账号
     */
    @ApiModelProperty("高层问题发起人账号")
    private String highProblemCreatorUserId;

    /**
     * 高层问题发起人就职记录ID
     */
    @ApiModelProperty("高层问题发起人就职记录ID")
    private String highProblemCreatorInductionId;

    /**
     * 中基层问题发起人身份人员ID
     */
    @ApiModelProperty("中基层问题发起人身份人员ID")
    private String midOrBasicProblemCreatorOriginalRoleMemberId;

    /**
     * 中基层问题发起人账号
     */
    @ApiModelProperty("中基层问题发起人账号")
    private String midOrBasicProblemCreatorUserId;

    /**
     * 中基层问题发起人就职记录ID
     */
    @ApiModelProperty("中基层问题发起人就职记录ID")
    private String midOrBasicProblemCreatorInductionId;

    /**
     * 接收问题责任人身份人员ID
     */
    @ApiModelProperty("接收问题责任人身份人员ID")
    private String problemReceiverOriginalRoleMemberId;

    /**
     * 接收问题责任人账号
     */
    @ApiModelProperty("接收问题责任人账号")
    private String problemReceiverUserId;

    /**
     * 接收问题责任人就职记录ID
     */
    @ApiModelProperty("接收问题责任人就职记录ID")
    private String problemReceiverInductionId;

    @ApiModelProperty("问题干系人")
    private List<StakeholdersProblemDto> stakeholdersProblem = new ArrayList<>();

    @ApiModelProperty("问题所属中基层部门列表 ")
    List<String> problemMidOrBasicDeptList = new ArrayList<>();

}
